def f(a,b,c,d,x):
    return a*x**3+b*x**2+c*x+d
def fang1(a,b,c,d):
    precision=0.0001
    right=3
    left=0
    mid=0
    if f(a,b,c,d,left)*f(a,b,c,d,right)>=0:
        raise ValueError
    while right-left>precision:
        mid=(right+left)/2
        if f(a,b,c,d,mid)==0:
            return mid
        elif f(a,b,c,d,mid)>0:
            right=mid
        elif f(a,b,c,d,mid)<0:
            left=mid
    return mid
def fang2(a,b,c,d):
    precision=0.0001
    right=7
    left=3
    mid=0
    if f(a,b,c,d,left)*f(a,b,c,d,right)>=0:
        raise ValueError
    while right-left>precision:
        mid=(right+left)/2
        if f(a,b,c,d,mid)==0:
            return mid
        elif f(a,b,c,d,mid)>0:
            right=mid
        elif f(a,b,c,d,mid)<0:
            left=mid
    return mid
def fang3(a,b,c,d):
    precision=0.0001
    right=10
    left=7
    mid=0
    if f(a,b,c,d,left)*f(a,b,c,d,right)>=0:
        raise ValueError
    while right-left>precision:
        mid=(right+left)/2
        if f(a,b,c,d,mid)==0:
            return mid
        elif f(a,b,c,d,mid)>0:
            right=mid
        elif f(a,b,c,d,mid)<0:
            left=mid
    return mid
a=int(input())
b=int(input())
c=int(input())
d=int(input())
x1=fang1(a,b,c,d)
x2=fang2(a,b,c,d)
x3=fang3(a,b,c,d)
list1=[x1,x2,x3]
print(list1)